package day9;

import day5.Person;

/*
*
* 匿名对象
* */
public class Demo5 {

    public static void main(String[] args) {
        Demo4Person demo4Person = new Demo4Person();

        demo4Person.show();

        //匿名对象,没有将对象地址赋给一个变量
        //每一次使用匿名对象,都会new一个新的对象
        new Demo4Person().show();

        //使用匿名对象之后,由于没有其他引用,会被垃圾回收机制回收
        System.out.println(new Demo4Person().num);


        System.out.println(new Person());
        System.out.println(new Person());

        //匿名对象作为参数
        method1(new Demo4Person());
    }

    //需要Demo4Person对象作为参数
    public static void method1(Demo4Person demo4Person){
        System.out.println(demo4Person);
    }

    //方法返回Demo4Person对象的返回值
    public static Demo4Person method2(){
        //使用匿名对象作为返回值返回
        return new Demo4Person();
    }
}
class Demo4Person{

    public int num = 1;
    public void show(){
        System.out.println("普通方法");
    }
}
